//
//  EmoticonTextView.swift
//  EmoticonKeyBoard
//
//  Created by apple on 15/12/27.
//  Copyright © 2015年 apple. All rights reserved.
//

import UIKit

class EmoticonTextView: NSTextAttachment {

    //表情文本
    var chs: String?
    //将表情文本 转换为属性文本  富文本
    func emoticonTextToImageText(em:Emoticon , font: UIFont) -> NSAttributedString {
        
        //1获取用户点击的模型中包含图片路径
        let image = UIImage(contentsOfFile: em.iamgePath ?? "")
        
        //2将图片添加到文本附件中
        //NSTextAttachment 附件类型
        let attacchment = EmoticonTextView()
        
        //2.1设置附件的图片的属性
        attacchment.image = image
        attacchment.chs = em.chs
        
        let height = font.lineHeight
        attacchment.bounds = CGRect(x: 0, y: -4, width: height, height: height)
        
        //3 通过附件 来实例化 属性文本
        let imageText = NSMutableAttributedString(attributedString: NSAttributedString(attachment: attacchment))
        
        //给属性文本添加文本属性 添加第一个的时候可以将前面文本的属性带过来 但是本身自己没有设置真实的属性 第二次输入的属性文本就没有属性
        imageText.addAttribute(NSFontAttributeName, value: font, range: NSRange(location: 0, length: 1))
        return imageText

    }
}
